首页>代码>SpringCloud入门项目简单实例,包括eureka集群和服务注册者>/Cloud2021 - 副本/cloud-consumer-order80/src/main/java/com/ccqq/springcloud/controller/OrderController.java
package com.ccqq.springcloud.controller; import com.ccqq.springcloud.lb.LoadBalancer; import com.ccqq.springcloud.entities.CommonResult; import com.ccqq.springcloud.entities.Payment; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; import java.net.URI; import java.util.List; @RestController public class OrderController { // public static final String PaymentSrv_URL = "http://localhost:8002"; public static final String PaymentSrv_URL = "http://CLOUD-PAYMENT-SERVICE"; @Resource private RestTemplate restTemplate; @Resource private DiscoveryClient discoveryClient; @Resource private LoadBalancer loadBalancer; @GetMapping("/consumer/payment/create") //客户端用浏览器是get请求,但是底层实质发送post调用服务端8001 public CommonResult<Payment> create(Payment payment) { return restTemplate.postForObject(PaymentSrv_URL + "/payment/create",payment,CommonResult.class); } @GetMapping("/consumer/payment/get/{id}") public CommonResult<Payment> getPayment(@PathVariable Long id) { return restTemplate.getForObject(PaymentSrv_URL + "/payment/get/"+id, CommonResult.class, id); } @GetMapping("/consumer/payment/getForEntity/{id}") public CommonResult<Payment> getPayment2(@PathVariable Long id){ ResponseEntity<CommonResult> entity = restTemplate.getForEntity(PaymentSrv_URL+"/payment/get/"+id,CommonResult.class); if (entity.getStatusCode().is2xxSuccessful()){ return entity.getBody(); }else { return new CommonResult<>(444,"启动失败"); } } // @GetMapping(value = "/consumer/payment/lb") // public String getPaymentLB(){ // List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE"); // if (instances == null || instances.size() <= 0){ // return null; // } // ServiceInstance serviceInstance = loadBalancer.instances(instances); // URI uri = serviceInstance.getUri(); // // return restTemplate.getForObject(uri+"/payment/lb",String.class); // } }

微信网友_6718454036303872 LV2
2023年11月2日
落后就要挨打 LV26
2023年10月19日
kk992127170 LV6
2022年7月27日
ewan007 LV30
2022年7月21日
364550246 LV15
2022年6月18日
heqian LV17
2022年5月18日
何松林 LV7
2022年3月7日
wdcokm LV1
2022年2月21日
史鹏丽 LV2
2021年11月17日
最代码官方 LV168
2021年8月1日

ゆ 、 Hurt° LV2
2024年7月8日
Zionism LV7
2024年6月5日
zhujunnan LV12
2024年3月8日
malagou LV1
2024年1月22日
sunlzh888888 LV29
2024年1月14日
whfuai LV14
2024年1月2日
origine1215
2023年11月29日
暂无贡献等级
YamTest LV1
2023年11月13日
微信网友_6718454036303872 LV2
2023年11月2日
jiemomo LV12
2023年10月19日